This invention relates generally to data communications and more particularly to data communications in a shared media access environment.
In a communications device, such as an Ethernet switch, frames of data go are received through ports on the device and buffered while addressing logic in the communications device processes addressing information associated with the frame to determine its destination. In general, the frames of data are stored in 64 byte blocks of memory 102 such as shown in FIG. 1, each block 102 having an associated 4 byte pointer 104 which points to the next 64 byte block of data 102 which comprises the frame. As defined in the IEEE 802.1Q standard for virtual local area networks (VLANs), the data portion of a received frame can be from 528 to 1577 bytes long.
As such, this memory management scheme is simple but not very effective when the frames of received data do not align on 64 byte margins. For example, if a frame of received data is 65 bytes long, it takes as much time and as much memory as it takes to store to and retrieve a frame of received data that is 128 bytes in length. Furthermore, no special consideration is made for broadcast frames, i.e., frames addressed to multiple destination addresses.
What is needed is a memory management scheme with improved efficiency in storing and retrieving variable length frames of data.
The present invention is a method and system for managing memory in a communication device which operates in a shared access media environment. In one aspect of the invention, an incoming multicast frame of data is packed and stored in blocks of no more than a predetermined block size, each block have an associated tag of control data and an associated pointer stored in a pointer memory for locating the block of data.
In another aspect of the invention, a reference mask is associated with each incoming frame to indicate through which ports of the communications device the multicast frame is to be transmitted.
In another aspect of the invention, the incoming frames of data are of varying size.
These and other features of the invention that will be apparent to those skilled in the art from the following detailed description of the invention, taken together with the accompanying drawings.